import csv
import openpyxl
from openpyxl.reader.excel import load_workbook
from openpyxl.workbook import workbook, Workbook
import pandas as pd
import requests
from bs4 import BeautifulSoup
import io


file = "D:\学习资料\爬虫\o.txt"#创建文件对象地址
j = open(file, 'r')#打开文件
p = j.readlines()#逐个读取文件里的网址，并保存至列表p
o = p[0]#第一个网址
u = p[1]#第二个网址
j.close()#关闭文件text
r=requests.get(o,timeout=30)#获取网页

#print(r)
#<Response [404]>

r.encoding = 'utf-8'#设定编码
soup=BeautifulSoup(r.text,"html.parser")#转变为response对象
pic=soup.find("div", class_="mw-body-content")#获取对应元素内容


#print(pic)
#<div class="mw-body-content" id="siteNotice"><div id="localNotice"><div class="anonnotice" dir="ltr" lang="zh"><div id="scrollDiv">
#<ul>
#<li><b>欢迎来到THBWiki！</b>如果您是第一次来到这里，请点击右上角注册一个帐户</li>
#<li>有任何意见、建议、求助、反馈都可以在 <a href="/%E8%AE%A8%E8%AE%BA:%E8%AE%A8%E8%AE%BA%E6%9D%BF" title="讨论:讨论板"><b>讨论板</b></a> 提出</li>
#<li>THBWiki以专业性和准确性为目标，如果你发现了任何确定的错误或疏漏，可在登录后直接进行改正</li>
#</ul>
#</div></div></div></div>


wb=pic.find('b').string#获取文本
wb=str(wb)#文本转化为字符串
f=[]#将字符串转化为列表
f.append(wb)#如上
wb=pd.DataFrame([wb])#将列表转化为dataframe


#print(f)
#print(wb)#输出该列表文字
#['欢迎来到THBWiki！']
#              0
#0  欢迎来到THBWiki！
#<class 'pandas.core.frame.DataFrame'>


df2 = pd.read_html(u)#读取第一个网址并保存至df1
#print(df2[3])#输出第1个列表的指定元素
#print(type(df2[3]))
#                         中文名                      中文名.1  ...     难度   难度.1
#0                表象「列祖列宗入梦来」                表象「列祖列宗入梦来」  ...  Extra  Extra
#1                  表象「弹幕偏执症」                  表象「弹幕偏执症」  ...  Extra  Extra
#2                  本能「本我的解放」                  本能「本我的解放」  ...  Extra  Extra
#3          抑制「Super Ego」（超我）          抑制「Super Ego」（超我）  ...  Extra  Extra
#4                  反应「妖怪测谎机」                  反应「妖怪测谎机」  ...  Extra  Extra
#5               无意识「弹幕的墨迹测验」               无意识「弹幕的墨迹测验」  ...  Extra  Extra
#6                  复燃「恋爱的埋火」                  复燃「恋爱的埋火」  ...  Extra  Extra
#7                 深层「无意识的基因」                 深层「无意识的基因」  ...  Extra  Extra
#8                  「被厌恶者的哲学」                  「被厌恶者的哲学」  ...  Extra  Extra
#9  「Subterranean Rose」（地底蔷薇）  「Subterranean Rose」（地底蔷薇）  ...  Extra  Extra
#[10 rows x 6 columns]
#<class 'pandas.core.frame.DataFrame'>


df2[3].to_excel('古明地恋.xlsx',sheet_name='古明地恋的符卡',index=False)#创建一个exel并写入第一个元素
book =openpyxl.load_workbook('古明地恋.xlsx')#打开上述excel
writer=pd.ExcelWriter('古明地恋.xlsx')#创建新的工作对象，保证可以不覆盖写入
writer._book = book#将原来的数据保存
wb.to_excel(writer, sheet_name='东方维基百科欢迎', index=False)#写入第二个元素并保存至第二个工作表
writer._save()#保存文件
